package com.wswy.wzcx.model.car

import android.os.Parcel
import android.os.Parcelable
import android.text.TextUtils
import android.util.Log
import com.google.gson.annotations.SerializedName

class CarTypeData () : Parcelable{
    @SerializedName("brand")
    var brand:CarTypeInfo?=null
    set(value) {
        field = value
        series = null
    }

    @SerializedName("series")
    var series:CarTypeInfo?=null
    set(value) {
        field = value
        model = null
    }

    @SerializedName("specification")
    var model:CarTypeInfo?=null

    fun getName():String?{
        if (TextUtils.isEmpty(series?.facName)){
            return "未设置车型"
        }
        return "${brand?.name} ${series?.facName} ${model?.name}"
    }

    fun getInfoName():String?{
        if (TextUtils.isEmpty(model?.name)){
            return "未设置车型"
        }
        return "${series?.name} ${model?.year} ${model?.name}"
    }

    constructor(parcel: Parcel) : this() {
        brand = parcel.readParcelable(CarTypeInfo::class.java.classLoader)
        series = parcel.readParcelable(CarTypeInfo::class.java.classLoader)
        model = parcel.readParcelable(CarTypeInfo::class.java.classLoader)
    }

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeParcelable(brand, flags)
        parcel.writeParcelable(series, flags)
        parcel.writeParcelable(model, flags)
    }

    override fun describeContents(): Int {
        return 0
    }

    companion object CREATOR : Parcelable.Creator<CarTypeData> {
        override fun createFromParcel(parcel: Parcel): CarTypeData {
            return CarTypeData(parcel)
        }

        override fun newArray(size: Int): Array<CarTypeData?> {
            return arrayOfNulls(size)
        }
    }


}